Chromium: local dom window.ccを軽く読む
Chromiumのコードを読んだのでメモ daiiz.icon
window.open を追う
Chromiumのwindow.open(url, target, features)の実装 (local_dom_window.cc) を軽く読んでみた
features: "key_string=value,key_string=value,..."
関数 LocalDOMWindow::open
https://cs.chromium.org/chromium/src/third_party/blink/renderer/core/frame/local_dom_window.cc?l=1444
関数 GetWindowFeaturesFromString
windowFeaturesを解釈しているところ
https://cs.chromium.org/chromium/src/third_party/blink/renderer/core/page/create_window.cc?l=66
第3引数を省略 (またはfalsyな値に) すると
https://gyazo.com/27679d13c423b58a068d1285f3654e77
デフォルトのwindow設定で開く
第3引数にfalsyな値、"noopener"、"noreferrer" 以外を与えるとmenu_barなどが非表示になる
https://gyazo.com/64cb201f79cbd9aec5d58e28b85d94f9
→ Desktop PWAのような独立windowとして表示される
つまり以下の場合はChromeのタブが開く
window.open(url, null, "noopener")
window.open(url, null, "noreferrer")